home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / windows / w31thd.zip / 920422B.THD < prev    next >
Text File  |  1992-05-01  |  31KB  |  706 lines

  1. #: 103563 S9/Script/Nav Pgms [C]
  2.     17-Apr-92  18:56:00
  3. Sb: Oz in Win 3.1
  4. Fm: Steve Whalen 76013,305
  5. To: Michael Cain 74160,2326 
  6.  
  7. Re: Stacks=i,j & what number will fix your problem:
  8.  
  9. I think it's unlikely you'll need to make j higher than 256, but you probably
  10. need to move i way up if you're having interupt problems. The only formula I've
  11. seen that made sense in calculating "i" was:
  12.  
  13. i = (#disk sectors per track) + number of other interupt devices + fudge factor
  14.  
  15. When I have interrupt overrun problems I don't usually try to outguess it.
  16. Instead I start at
  17.  
  18.           Stacks=64,512
  19.  
  20. (the highest you can go) which usually fixes things. I then drop to 64,256 (and
  21. things usually stay fixed).  I then work the 64 downward until things start
  22. breaking. I stay with whatever "i" last worked. Then I'll try i,128 and if that
  23. works, that's my "production" setting on that machine, if not, I stay with
  24. i,256.
  25.  
  26. 64,512 uses up 32k of memory, but I know if that doesn't fix things,
  27. interrupt's aren't the problem (it's just for testing anyway).  Also,
  28. Stacks=0,0 will make some interrupt problems go away (but sometimes that just
  29. masks a problem).
  30.  
  31.  
  32. #: 104075 S9/Script/Nav Pgms [C]
  33.     21-Apr-92  15:49:45
  34. Sb: Tuning Win3.1 for Oz/Comm
  35. Fm: Steve Whalen 76013,305
  36. To: Michael Cain 74160,2326
  37.  
  38. Here come some more comments from the peanut gallery. <g>
  39.  
  40. Since Stacks=64,512 didn't fix your problem, I think Steve (the real Steve as
  41. in Sneed) is right that you're getting an interrupt overflow, as opposed to
  42. data overrun or stacks getting clobbered.  The data overrun you know about. The
  43. stacks we've pretty much eliminated with Stacks=64,512.  If you saw the
  44. messages from Rick Harris, he's given a good description of the underlying
  45. problem.
  46.  
  47. The only pragmatic suggestion I can make is to play with the Foreground /
  48. Background ratios in the PIF Advanced Options for your OzCis setup. My
  49. suggestion would be to make background a bigger number than you use for
  50. anything else.  That way OzCis get's longer time slices.  Your foreground will
  51. get slower (Solitare looks jerky, but you can play it).
  52.  
  53. What works best as a background ratio will vary depending on your configuration
  54. and PC speed, so the PIF's you get from others may not be stable for you.
  55. Living with non-premptive multitasking in Windows can be a pain.  Now if only
  56. Os2 will get arround to living up to it's reputation, or Windows NT arrive
  57. early (and stable)..... Steve (Whalen)
  58.  
  59.  
  60. #: 104100 S9/Script/Nav Pgms [C]
  61.     21-Apr-92  19:37:19
  62. Sb: #104075-Tuning Win3.1 for Oz/Comm
  63. Fm: Michael Cain 74160,2326
  64. To: Steve Whalen 76013,305
  65.  
  66. Steve - Yeah, I have been playing with the 'priorities' and there was a
  67. surprise for me there. I had imagined that if I said 'exclusive' execution in
  68. the PIF that slice ratios would be somewhat moot, but not so. I had been
  69. leaving Windows at 100,50 and Oz at 100,100. With Oz running, win apps were
  70. still relatively responsive. I maxed Oz out at 10000,10000 and son of a gun I
  71. thought the rest of the system had died. What the heck does exclusive mean
  72. anyway? I'm running the online Oz at 200,200 now per your suggestion.
  73.   I've also left stacks=16,256 (roughly your formula) and also ComxBuffer=16384
  74. and Comboost=8 which I don't know helps or not.
  75.   Say Steve, you seem like a knowledgeable kinda guy. That other Steve made a
  76. suggestion to someone or other a while back to post config info for public
  77. discussion. This seems like a good idea for all. I wonder if I could talk you
  78. into publishing a PIF for a higher end PC (maybe 386/33, 8MB?) with commentary
  79. for rationale of various selections? I'd do it myself but I'm scared to. Think
  80. of the abuse you be liable for...:-)
  81.   Won't know about NT until July I guess. I'm looking forward to it. I've got a
  82. os/2 1.21 on my drive but I hardly ever boot it up anymore ... I have to
  83. confess I never really liked it. Inertia I guess ...
  84.  
  85. Michael
  86.  
  87. #: 104119 S9/Script/Nav Pgms [C]
  88.     21-Apr-92  21:12:01
  89. Sb: #104100-Tuning Win3.1 for Oz/Comm
  90. Fm: Steve Sneed [IBMNET] 70007,3574
  91. To: Michael Cain 74160,2326
  92.  
  93. Michael - Bravo!  Capitol suggestion!  Now, if everybody with Win3.1 problems
  94. will gather 'round the campfire, we may make some sense of this mess...
  95.  
  96. Steve
  97.  
  98. #: 104230 S9/Script/Nav Pgms [C]
  99.     22-Apr-92  14:57:48
  100. Sb: #104100-Tuning Win3.1 for Oz/Comm
  101. Fm: Steve Whalen 76013,305
  102. To: Michael Cain 74160,2326
  103.  
  104. Re: uploading a PIF with instructions:
  105.  
  106. I could put that together for Windows 3.0, but not 3.1 ( I'm waiting for the
  107. first bug fix release to be in the pipeline before I inflict Windows 3.1 on
  108. myself).  My current Windows setup is rock solid on a 386/33 with 8meg, but it
  109. took a while to get it that way.
  110.  
  111. Unfortuantely PIF's aren't too transferrable between machines with different
  112. memory, speed and usage when you're having problems.  Things as different as
  113. having Adobe type manager loaded, what 386 memory driver you use, etc.  all can
  114. drive you nuts getting a stable Windows.  Much of this is inherent in a
  115. non-premptive multitasker (see Rick Harris' comments for more).  Windows
  116. actually does quite well considering.
  117.  
  118. Re: Relative Priorities OzCis PIF
  119.  
  120. The most "portable" portion of a PIF file is the relative priority stuff. I was
  121. suggesting you fiddle with that because it's the primary control you have over
  122. how much of the CPU's time OzCis will get.
  123.  
  124. Instead of 200,200, I'd recommend 200,50 (background,foreground) or 200,100. At
  125. least for Win3.0 it was the relative proportion of these two numbers to each
  126. other in a PIF *and* the size of the number relative to other PIF's that fixed
  127. various background problems I had.  Also, make real sure you only have 1 DOS
  128. background task "active" at a time (mark any other DOS partitions as Foreground
  129. Only in the PIF).
  130.  
  131. With 200,200 I'd expect it to get jerky in the foreground, WITHOUT reliably
  132. fixing your problem, if it turns out to be fixable this way.  That's because
  133. with 200 to the foreground, OzCis can still get ignored for a long time.
  134.  
  135. I've never left a PIF "exclusive".  I'd don't think that should be necessary,
  136. especially with what I've heard about 3.1. There are some new "options" in 3.1
  137. you might want to look at.  See Earl Robinson's message #104103 for a couple of
  138. suggestions.
  139.  
  140.  
  141. #: 104314 S9/Script/Nav Pgms [C]
  142.     23-Apr-92  01:55:46
  143. Sb: #104230-Tuning Win3.1 for Oz/Comm
  144. Fm: Michael Cain 74160,2326
  145. To: Steve Whalen 76013,305
  146.  
  147. Steve - Yes I know what you mean about non-portable config info. Still, it
  148. might be useful to discuss why you have things the way you do. It's been useful
  149. to me.
  150.   Re priorities - Let me think about this a bit. I think you're right about
  151. 'exclusive'. There doesn't seem to be anything you can with it that you can't
  152. do more completely with relative priorities. (BTW, I was using 'x,y' idiom as
  153. 'foreground,background'.) I've been trying to set up two DOS VM's, Oz online
  154. and offline, especially in anticipation of Oz 2.0 enhanced message processing.
  155. I want to give the online Oz all it needs and take whatever crumbs are left for
  156. offline message processing. Maybe that's asking too much. The other scenario
  157. would be online Oz and some windows apps. So I've got the windows slices (via
  158. control panel->386enhanced) and one or two PIF slices to balance.
  159.   I say 'let me think about this' because:
  160.  
  161. >>  With 200,200 I'd expect it to get jerky in the foreground, WITHOUT reliably
  162. >>fixing your problem, if it turns out to be fixable this way.  That's because
  163. >>with 200 to the foreground, OzCis can still get ignored for a long time.
  164.  
  165.   doesn't make sense to me right away. I'm so confused ... <g>
  166.  
  167.   Speaking of ControlPanel->386Enhanced, what sayest thou about MinTimeSlice
  168. and it's impact on this situation?
  169.  
  170. Michael
  171.  
  172.  
  173. #: 104572 S9/Script/Nav Pgms [C]
  174.     24-Apr-92  14:52:59
  175. Sb: #104314-Tuning Win3.1 for Oz/Comm
  176. Fm: Steve Whalen 76013,305
  177. To: Michael Cain 74160,2326
  178.  
  179. Re: why I don't think 200,200 foreground / background processing slices will
  180. fix your problem. You're right, I said it wrong. I originally wrote more, tried
  181. to cut it down to one message, and confused it.
  182.  
  183. I was concerned about the relative priority of OzCis' BACKGROUND priority vs.
  184. the FOREGROUND priority of whatever task you have in running at the moment in
  185. the foreground (and other background tasks), in conjunction with the
  186. MinTimeSlice from Control Pannel. (Boy, that really clears it up!) Anyway,I was
  187. NOT concerned about OzCis's forground priority vs OzCis's background priority
  188. (obviously OzCis will only be in foreground OR background at any one point in
  189. time), even though that's what I said. Sorry.
  190.  
  191. Let me try again. The next several messages will be as much of a discussion as
  192. I have time to prepare, and probably more than most will want to hear. I'm
  193. focusing on this from the perspective of a DosApp (as opposed to a WinApp)
  194. trying to run in the background (like OzCis).
  195.  
  196.  
  197.                Control Pannel's MinTimeSlice:
  198.  
  199. This determines size of a time "slice" in milliseconds. This means the maximum
  200. time in milliseconds that on process can "hog" the CPU. After this many
  201. milliseconds, the next task that's competing for resources (hopefully) gets a
  202. turn. Too few milliseconds = too many context switches, i.e. major overhead
  203. (but it looks smoother). Too many milliseconds = it takes longer for a task to
  204. get control each time, then keeps it longer, but less time is wasted on context
  205. switches.
  206.  
  207. What's optimum depends on how fast your CPU is and how many active background
  208. tasks you're going to have active (Formula = 1 timeslice for all WinApps + 1
  209. timeslice for EACH Dos background task), how you have memory configured,
  210. whether the moon is full.... I use 2 milliseconds on a 386/33 (i.e. there is
  211. are context switches up to 500 times a second!) on a system attempting
  212. background TeleComm.
  213.  
  214.   [OzCIS: Continued in next msg]
  215.  
  216.  
  217. #: 104573 S9/Script/Nav Pgms [C]
  218.     24-Apr-92  14:53:14
  219. Sb: #104572-Tuning Win3.1 for Oz/Comm
  220. Fm: Steve Whalen 76013,305
  221. To: Steve Whalen 76013,305
  222.  
  223.  
  224.   [OzCIS: Continued from previous msg]
  225.  
  226.  
  227.  
  228.                Detect Idle Time (in the PIF).
  229.  
  230. Should be checked unless you have a real good reason why not to (like if
  231. Windows keeps the app from running at all because it mistakenly thinks the
  232. DosApp is idle. Windows can only guess at "idleness" with a DosApp).
  233.  
  234.  .
  235.  .CPU Allocation when DosApp running in Background (like OzCis):
  236.  .
  237.  .      1 TimeSlice - Shared by all active WinApps
  238.  .                    Each WinApp then gets part of this slice. See the
  239.  .                    Windows manual "Set Multitasking Options" under
  240.  .                    Control Panel and PIF for how the arithmetic works.
  241.  .      1 TimeSlice - 1st DosApp running in Background
  242.  .      1 TimeSlice - 2nd DosApp running in Background
  243.  .      ...
  244.  .      1 TimeSlice - Nth DosApp running in Background
  245.  .
  246.  
  247. With the above in mind, here's the approach I've used to create a stable
  248. Windows (3.0) environment:
  249.  
  250.  
  251.                Enable / Disable Background processing:
  252.  
  253. WinApps: Each Windows application is expected to release any time it doesn't
  254. need, (i.e. is expected to be well behaved). I usually enable background
  255. processing for any Windows applications that might do something useful for me
  256. in the background. If there's nothing I would ever want the app. to do in
  257. background, I'll turn if off, but I tend to leave it enabled.
  258.  
  259. DosApp: I NEVER enable background processing on a Dos window I create unless I
  260. have a real good reason to do so (like OzCis). I do it this way because all Dos
  261. windows under Windows are ill behaved. I.E. a Dos program will tend to sit
  262. there eating up CPU time even if it's not doing anything useful, because it's
  263. not integrated with Windows time sharing strategy. Windows attempts to
  264. recognize idle time and use it, but.... Also the fact that EVERY background
  265. DosApp gets a time slice of it's own impacts TeleComm badly.
  266.  
  267.  
  268.                Relative Priorities in PIF:
  269.  
  270. Background (NonTeleComm) - keep at default
  271.  
  272.   [OzCIS: Continued in next msg]
  273.  
  274.  
  275. #: 104574 S9/Script/Nav Pgms [C]
  276.     24-Apr-92  14:53:27
  277. Sb: #104573-Tuning Win3.1 for Oz/Comm
  278. Fm: Steve Whalen 76013,305
  279. To: Steve Whalen 76013,305
  280.  
  281.  
  282.   [OzCIS: Continued from previous msg]
  283.  
  284.  
  285. Background (TeleComm) - make this twice the as much as the background priority
  286. number of any other task that will be running at the same time as when my
  287. telecomm is running in background.
  288.  
  289. Foreground - basically leave at default, but in any case keep relatively small
  290. numbers here to avoid jerkyness when no background telecomm is going on.
  291.  
  292.  
  293.                Throw out bad applications / system utilities:
  294.  
  295. I eliminated a few applications and some system utilities that didn't appear to
  296. properly "share" the resources.... For example, if things quit working after
  297. installing SuperDuperUtilXYZ then I went back to whatever I used before
  298. SuperDuper....
  299.  
  300.  
  301.                Exclusive / Non-Exclusive PIF setting:
  302.  
  303. I don't use this because if I do, I have to be TOO careful of when I turn an
  304. application loose with Exclusive, since it will upset the rest of the apple
  305. cart. I don't want to have to remember this, my computer should. I hate
  306. freezing a download going on in the background because I loaded an app with
  307. Exclusive....  Same with the Control Panel "Exclusive" setting.
  308.  
  309.  
  310.                Minimize number of open Dos Apps:
  311.  
  312. I minimize the number of Dos tasks that can run in background, because they
  313. don't "share well with others". Also, I try to minimize the total number of
  314. active tasks, because every context switch Windows has to do is an opportunity
  315. to loose track of the Comm Port, etc.
  316.  
  317.  
  318.            Now how I use all this to "balance" my system:
  319.  
  320. Basically I set the "permission" to use background as above, then make
  321. everything the way Windows defaults it (50,100 I think). That way I know where
  322. everything running in my Windows is, priority-wise. Then I take the one or two
  323. TeleComm apps I want to use in the background, give them the SAME foreground
  324. slice as everything else, and give it a background TWICE as high as anything
  325. else. Then of course I only run 1 TeleComm app at a
  326.  
  327.   [OzCIS: Continued in next msg]
  328.  
  329.  
  330. #: 104575 S9/Script/Nav Pgms [C]
  331.     24-Apr-92  14:53:43
  332. Sb: #104574-Tuning Win3.1 for Oz/Comm
  333. Fm: Steve Whalen 76013,305
  334. To: Steve Whalen 76013,305
  335.  
  336.  
  337.   [OzCIS: Continued from previous msg]
  338.  
  339. time.
  340.  
  341. My understanding of what Windows does with the 50,100 etc numbers is to create
  342. a relative priority number for each running task, then ATTEMPT to arbitrate
  343. toward those "shares". But because Windows is non-premptive, it will not "take
  344. away" the system from another application that's hogging the CPU. It takes over
  345. when the other goes "idle", or when the task explicitly gives up it's turn.
  346. (And Win30 at least was not very sophisticated at figuring out when a Dos app
  347. was "idle").
  348.  
  349.                Summary:
  350.  
  351. Basically I try to make my TeleComm app (like OzCis) "stick out" in the
  352. priority scheme of things: it has background enabled, and it has a higher
  353. BACKGROUND priority than any other single task's FOREGROUND priority in my
  354. Windows setup or any other active tasks BACKGROUND priority #. By doing this,
  355. at 2400 baud I get the same file transfer rate from OzCis under Windows as I
  356. get under "naked" MsDos50.
  357.  
  358. Also, there is a point at which you can't have a stable system for TeleComm
  359. under Windows. Without a pre-emptive multitasking operating system, you can't
  360. "guarantee" the Comm program access to the port more frequently and
  361. consistently than data can come in, especially at higher baud rates. You'd
  362. typically get into this pickle from a combination of: too slow a CPU, too
  363. primitive a UART, too primitive a Comm driver, too many background tasks
  364. enabled, too little memory (if Windows has to do any swapping to disk, forget
  365. it), etc.
  366.  
  367. This is still unfortunately an oversimplification, but if I don't send this
  368. now, it will never get sent.....
  369.  
  370.  
  371. #: 104730 S9/Script/Nav Pgms [C]
  372.     25-Apr-92  16:29:43
  373. Sb: #104575-Tuning Win3.1 for Oz/Comm
  374. Fm: Michael Cain 74160,2326
  375. To: Steve Whalen 76013,305
  376.  
  377. Steve - Very lucid discussion of a complex subject. Thanks a lot for taking
  378. the time. Here's a summary of background execution and 'background,foreground'
  379. priorities (basically, in general, etc.) in tabular form:
  380.  
  381.                          OnLine Oz     Others      Windows
  382.                          ---------    --------     -------
  383.  background execution      enabled     disabled     enabled
  384. relative priorities       100,100      50,100       50,100
  385.  
  386.   Some comments and questions:
  387. 1) you implied at one point the ability to disable background processing for
  388. an individual winapp. I haven't found a way to do this.
  389. 2) "(online Oz) has a higher BACKGROUND priority than any other single task's
  390. FOREGROUND priority" - should the phrase be "higher or equal"?
  391. 3) re WinMinTimeSlice: exhaustive testing using a boot-time function to set
  392. the min time slice in concordance with the lunar cycle showed no improvement
  393. over one which set it randomly ... ;-)
  394. 4) worthy of note because of it's order of magnitude departure from the
  395. windows default is your selection of 2ms vs 20ms mintimeslice. This makes
  396. sense (if we can absorb the task switch overhead) because it does what we
  397. can do to ensure no other app keeps control away from OnLine Oz for too
  398. long with a side benefit of smoother overall processing.
  399.  
  400.   My thoughts on other OnLine Oz PIF settings which relate to your general
  401. directive to minimize system overhead and swapping:
  402.  
  403. Memory Options: Lock everything to eliminate swapping to disk. You have to
  404. have enough memory to support this.
  405.  
  406. Display Options:Monitor Ports: Monitor nothing unless you have a problem.
  407. Should save some system overhead. Don't do online GIF display ...
  408.  
  409. Display Options:Emulate Text Mode: normally I would say check this one because
  410. the text on it says it will make text display faster, but the other Steve's
  411. recent report indicated just the opposite, so I don't know ...
  412.  
  413.   [>> Continued in next msg]
  414.  
  415.  
  416. #: 104731 S9/Script/Nav Pgms [C]
  417.     25-Apr-92  16:29:52
  418. Sb: #104730-Tuning Win3.1 for Oz/Comm
  419. Fm: Michael Cain 74160,2326
  420. To: Michael Cain 74160,2326
  421.  
  422.  
  423.   [>> Continued from previous msg]
  424.  
  425.  
  426. usage notes: DOS vm's do best as full screen, next best as icons and worst
  427. as windows. Switching between full screen and windows is risking data loss
  428. but the risk can be minimized if you pick your spots, eg entering a forum
  429. where CIS says 'wait a moment ...' or in a download protocol where you can
  430. recover from data loss (at some cost). The importance of processor power,
  431. available physical memory, com port hardware and associated driver in
  432. relation to what you can get away with multitasking-wise cannot be over-
  433.  emphasized.
  434.  
  435. Steve, thanks again for your analysis.
  436.  
  437. Michael
  438.  
  439.  
  440. #: 105025 S9/Script/Nav Pgms [C]
  441.     27-Apr-92  20:23:52
  442. Sb: #104731-Tuning Win3.1 for Oz/Comm
  443. Fm: Steve Whalen 76013,305
  444. To: Michael Cain 74160,2326
  445.  
  446. re: "...Switching between full screen and windows is risking data loss but the
  447. risk can be minimized if you pick your spots, eg entering a forum where CIS
  448. says 'wait a moment ...' or in a download protocol where you can recover from
  449. data loss (at some cost)...."
  450.  
  451. Sounds like there is still some room for improvement in your Win31 vs. OzCis
  452. background stability.  I can switch windows at will and not lose anything (I'm
  453. too lazy to have to pick when I can open or close or switch windows). The only
  454. time I have trouble at 2400 baud is if I have a protocol download going in the
  455. background, and I do GIF display in the forground.  A GIF view is just about
  456. guaranteed to suck up all the CPU available to it.  Then I get one bad block
  457. and everything is fine.  I'd say anything less than a real CPU sucker shouldn't
  458. have any effect on OzCis in the background.  Just switching windows shouldn't
  459. cause even a burp.
  460.  
  461. You're right about this being a complex balancing act.  After 20 years of
  462. trying to make mainframes, mini's, and PC's work smoothly, I'm amazed at how
  463. things just move downhill: Mini's growing up to be mainframes (requiring
  464. mainframe tuning approaches); and now PC's growing up to be Mini's with
  465. multiprocessing balancing complexities.....  I bought a PC so it would be
  466. simple to play with!
  467.  
  468.  
  469. #: 105046 S9/Script/Nav Pgms [C]
  470.     27-Apr-92  21:47:41
  471. Sb: #105025-Tuning Win3.1 for Oz/Comm
  472. Fm: Steve Sneed [IBMNET] 70007,3574
  473. To: Steve Whalen 76013,305
  474.  
  475. Steve - I don't think Michael meant switching windows, I think he meant
  476. switching just OzCIS between a full-screen (text mode) and a window - i.e. the
  477. Alt-Enter combo.  When switching video modes like this, Windows uses the
  478. services of the video card's BIOS... and typically, such mode switches include
  479. having ints off for one full refresh cycle, which will cause chars to be
  480. dropped.  Switching windows shouldn't cause any (or only minimal) adverse
  481. effect on OzCIS.
  482.  
  483. Yeah, the LZW decompressor in a GIF decoder is typically a real processor hog. 
  484. Ditto for most other software compression tools such as PKZIP and LHA.
  485.  
  486. What Windows GIF decoder do you prefer?  I haven't found one yet I *really*
  487. like, tho' I use PaintShop to convert GIFs to BMPs for wallpaper.
  488.  
  489. Steve
  490.  
  491.  
  492. #: 105057 S9/Script/Nav Pgms [C]
  493.     27-Apr-92  22:57:33
  494. Sb: #105025-Tuning Win3.1 for Oz/Comm
  495. Fm: Michael Cain 74160,2326
  496. To: Steve Whalen 76013,305
  497.  
  498. Steve - talk about ships passing in the night :-) I read and post in the same
  499. pass in this forum ...
  500.   re switching: what Steve said. It was he who gently pointed this out to me in
  501. a different thread.
  502.   Thanks to you, in no small measure, I actually am running fairly smoothly. At
  503. 2400, I don't worry much about what I'm doing. Paintshop is ill-behaved in
  504. places, especially where it doesn't use the meter. At 9600, I'm a little more
  505. careful, but I'm a little more selective about when to use 9600 these days $-)
  506.   It's funny about the emotional attachment I have to my configuration. I
  507. hesitated a long moment in the control panel before I cut the slice down to
  508. 2ms, even with this 486/33. The effect was pleasing: smoother overall
  509. performance and still no com trouble.
  510.   Well, back to the mine ...
  511.  
  512. Michael
  513.  
  514. #: 104982 S9/Script/Nav Pgms [C]
  515.     27-Apr-92  15:27:17
  516. Sb: #104730-Tuning Win3.1 for Oz/Comm
  517. Fm: Steve Whalen 76013,305
  518. To: Michael Cain 74160,2326
  519.  
  520. Some brief answers / comments in order of your message:
  521.  
  522. 1) Disable Individual WinApp... You're right, there isn't an explicitly
  523. documented way to do this.  You can effectively stop all WinApps from using
  524. background by using Control Panel Windows priorites.
  525.  
  526. I think I've tried to stop WinApps by creating a PIF file for them, even though
  527. PIF's supposedly are for DosApps. I'm not sure whether it worked (took the
  528. PIF's settings and disabled background) or just ignored the PIF when it loaded
  529. the EXE and found it to be a WinApp.  I never want back and specificly tested
  530. to be sure the WinApp "stopped" in background.
  531.  
  532. 2) re: Oz having higher BACKGROUND priority than any single tasks's
  533. FOREGROUND... and whether I should have said "higher or equal"....
  534.  
  535. Actually, to really sure OzCis is "king of the heap", Oz's BACKGROUND priority
  536. should be GREATER than the SUM of ALL other executing background DosApps and
  537. whatever is running in foreground.   My background telecomm didn't get truly
  538. stable until I made it higher than my standard forground priority (like 200 vs
  539. 100), so that's what I recommend.
  540.  
  541. 3 & 4) MinTimeSlice.... Yeah, I was surprised that I was setting it to 1/10 of
  542. the "default" but remember, the default created by MicroSoft had to handle 1 or
  543. 2 meg 386SX's machines running at 16 mhz.  They had to make it fairly high to
  544. be sure the slowest machine could do a context switch.  If you think about it
  545. 20 milliseconds is only 50 context switches a second, and when 2400 baud file
  546. transfers = 230 bytes a second arriving at the port... My 500 context switches
  547. a second (max) sounds high until you think of the poor comm. port trying to
  548. keep up without buffering.
  549.  
  550. Anyway, my sytem didn't get stable for Dos TeleComm until I pushed MinTimeSlice
  551. down pretty far.  I guess it's my way of making Windows pseudo premptive
  552. multitasking: make the context switches frequent so everybody gets
  553.  
  554.   [OzCIS: Continued in next msg]
  555.  
  556.  
  557. #: 104983 S9/Script/Nav Pgms [C]
  558.     27-Apr-92  15:27:25
  559. Sb: #104982-Tuning Win3.1 for Oz/Comm
  560. Fm: Steve Whalen 76013,305
  561. To: Steve Whalen 76013,305
  562.  
  563.  
  564.   [OzCIS: Continued from previous msg]
  565.  
  566. a turn.  Creates more overhead, but I always push for reliability over speed.
  567.  
  568. Locking Memory.... I lock it only for apps that have problems.  I don't mind if
  569. a DosApp that's not going to run in background gets swapped to my pre-allocated
  570. SwapDisk.  If I start getting too much disk swapping, I shut something down.
  571.  
  572. Monitor Ports...  I agree. Don't unless you have to.
  573.  
  574. Emulate Text... The book says it "can" increase the rate the DosApp displays
  575. text, but instinctively I'd agree with Steve that this would add system
  576. overhead, thus slowing system performance, especially for TeleComm in the
  577. background.
  578.  
  579.  ...I haven't seen the continuation of your message yet. I'll respond if you
  580. have more...
  581.  
  582.  
  583. #: 104103 S9/Script/Nav Pgms [C]
  584.     21-Apr-92  19:47:34
  585. Sb: #104075-Tuning Win3.1 for Oz/Comm
  586. Fm: earle robinson [ibmeur] 76004,1762
  587. To: Steve Whalen 76013,305
  588.  
  589. I may have missed some points in this discussion, but I'd like to offer some
  590. advice, based on my experience running win 3.1 on machines as slow as a
  591. 386sx/20, and faster ones, too.   First, one must be certain to have a ns16550a
  592. uart, second to have the turbocom driver, the only one that supports dos
  593. communications applications.  Finally, be sure and set the relevant parameters,
  594. which include the ComBoostTime and ComnBuffer on slower systems. Try at least 2
  595. for the former and 256 or 512 for the latter.  The defaults, I think, are 1 and
  596. 128 respectively.  In fact on faster systems I've not even needed to change the
  597. defaults.   -er
  598.  
  599. #: 104151 S9/Script/Nav Pgms [C]
  600.     21-Apr-92  23:25:48
  601. Sb: #104103-Tuning Win3.1 for Oz/Comm
  602. Fm: Michael Cain 74160,2326
  603. To: earle robinson [ibmeur] 76004,1762
  604.  
  605. addendum to er's note: (from WINADV)
  606.  
  607. This from the April 28 PCMag p. 143:
  608.  
  609.  "At this writing, Microsoft was still trying to improve the communication
  610. driver's support for the 16550 UART.  Windows communication programs can access
  611. the UART, but the driver was not yet able to virtualize the UART in DOS
  612. sessions.  Because Windows 3.1 needs to virtualize the communications driver,
  613. DOS programs running under Windows could not use the 16550's FIFO buffer.
  614. Microsoft expects that it will distribute enhanced versions of the COMM.DRV
  615. file through its CompuServe forums and technical support within a few months."
  616.  
  617.  The TurboCom driver overcomes this current limitation.
  618.  
  619. mwc
  620.  
  621. #: 104297 S9/Script/Nav Pgms [C]
  622.     22-Apr-92  23:41:58
  623. Sb: #104103-Tuning Win3.1 for Oz/Comm
  624. Fm: Michael Cain 74160,2326
  625. To: earle robinson [ibmeur] 76004,1762
  626.  
  627. er - In addition to it's nifty buffer, does the 16550 allow the potential for
  628. reduced interrupts by allowing several characters to be pulled from the buffer
  629. under one interrupt as opposed to one interrupt per character otherwise?
  630.  
  631. Michael
  632.  
  633.  
  634. #: 104303 S9/Script/Nav Pgms [C]
  635.     23-Apr-92  00:18:54
  636. Sb: #104297-Tuning Win3.1 for Oz/Comm
  637. Fm: Steve Sneed [IBMNET] 70007,3574
  638. To: Michael Cain 74160,2326
  639.  
  640. Michael - Reduced interrupts is the whole point of the FIFO buffer in the
  641. 16550A UARTs.  Software that recognizes and properly utilizes the 16550A can
  642. set a "trigger level" for the buffer, and no receive interrupt is generated
  643. until the buffer fills to that level or a specific amount of time passes with
  644. no received char but with chars in the buffer, at which point the program goes
  645. and gets all chars in the buffer in one shot.  This reduction of ints is
  646. important under multitasking software such as Windows or DesqView.
  647.  
  648. Unfortunately, the current COMM.DRV supplied with Windows neither virtualizes
  649. the UART for DOS apps nor allows use of the FIFO buffer in the 16550A chip.  At
  650. least one aftermarket replacement driver allows such support, but asking a user
  651. to go out and buy a $50 driver so he can run his DOS comm apps under Windows is
  652. like buying a car and having to go buy tires someplace else; such products are
  653. much more viable when sold as part of a Windows-specific comm package, and
  654. should not be required for DOS apps anyway.  (Windows fails to protect apps
  655. from each other when accessing memory, but breaks it's back protecting comm
  656. apps from each other.  Sigh...)
  657.  
  658. Just as bad, more and more machines today are comming with the serial ports on
  659. the motherboard.  Almost always these motherboards use ASICs (application
  660. specific ICs) that provide two serial ports and a parallel port in one chip.
  661. Neat, but the ASICs are all 16450 clones, not 16550A workalikes, so you don't
  662. get the FIFO advantage - on fast machines destined for multitasker use.  Brain
  663. damaged design, to save a couple of bucks per board and a milliwatt or two of
  664. power consumption.  Plus most of the ASICs have some compatibility problems.
  665.  
  666. Steve (down from soapbox...)
  667.  
  668.  
  669. #: 104316 S9/Script/Nav Pgms [C]
  670.     23-Apr-92  02:36:15
  671. Sb: #104303-Tuning Win3.1 for Oz/Comm
  672. Fm: Michael Cain 74160,2326
  673. To: Steve Sneed [IBMNET] 70007,3574
  674.  
  675. Geez Steve, too bad we can't get you pumped up about this <g>
  676.  
  677.   Well, I myself am a poor ASIC sufferer, although I have it on a card with two
  678. serial, parallel and game port. MSD calls it an 8250. I was kinda hoping to see
  679. the new MS comm.drv before too long and I've been looking for a 16550 card to
  680. plug in.
  681.   Amazing I don't have more com trouble than I do, huh?
  682.   BTW, I saw a mention from MS tech support in winadv to the effect that a dos
  683. vm can get at the 16550 fifo by using ComxBuffer=0 in sys.ini.
  684.  
  685. Michael
  686.  
  687. #: 104511 S9/Script/Nav Pgms [C]
  688.     24-Apr-92  07:20:32
  689. Sb: #104316-Tuning Win3.1 for Oz/Comm
  690. Fm: earle robinson [ibmeur] 76004,1762
  691. To: Michael Cain 74160,2326
  692.  
  693. Steve has already answered, so all I can do is to agree about the asic
  694. business.  I have a couple of expensive toshiba machines with those damned
  695. asic's, and had to buy a serial port with a ns16550 uart in order to get the
  696. benefits.
  697.  
  698. As for the comxbuffer=0 business, I recall some mention of this during the
  699. final weeks of the win 3.1 beta testing.  But, I also remember the fellow
  700. responsible for the windows comm driver saying that dos comm support would be
  701. provided later if there was demand.  Since microsoft, in its own enlightened
  702. self interest is trying to wean people away from dos applications to windows
  703. ones, I'd not hold my breath too long for that.
  704.  -er
  705.  
  706.